[INFO] cloning repository https://github.com/prathamrajbhar/ClipSnap
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/prathamrajbhar/ClipSnap" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprathamrajbhar%2FClipSnap", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprathamrajbhar%2FClipSnap'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e3a728d259afa0d870761080b8e291d7f4685c0
[INFO] fixing prathamrajbhar/ClipSnap against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprathamrajbhar%2FClipSnap" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/prathamrajbhar/ClipSnap
[INFO] finished tweaking git repo https://github.com/prathamrajbhar/ClipSnap
[INFO] tweaked toml for git repo https://github.com/prathamrajbhar/ClipSnap written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/prathamrajbhar/ClipSnap on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/prathamrajbhar/ClipSnap already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a
[INFO] running `Command { std: "docker" "start" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]    Compiling gio v0.18.4
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking avif-serialize v0.8.8
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling g2poly v1.2.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking winnow v0.5.40
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking xkbcommon v0.9.0
[INFO] [stderr]     Checking dbus v0.9.10
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking subprocess v0.2.15
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking notify-rust v4.12.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]    Compiling gtk4-macros v0.7.2
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling g2gen v1.2.2
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking g2p v1.2.2
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling graphene-sys v0.18.1
[INFO] [stderr]    Compiling gdk4-sys v0.7.2
[INFO] [stderr]    Compiling gsk4-sys v0.7.3
[INFO] [stderr]    Compiling gtk4-sys v0.7.3
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]     Checking keyboard-types v0.7.0
[INFO] [stderr]     Checking global-hotkey v0.5.5
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking enigo v0.6.1
[INFO] [stderr]     Checking ravif v0.12.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]     Checking graphene-rs v0.18.1
[INFO] [stderr]     Checking rqrr v0.7.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking rusty-tesseract v1.1.10
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking gdk4 v0.7.3
[INFO] [stderr]     Checking gsk4 v0.7.3
[INFO] [stderr]     Checking gtk4 v0.7.3
[INFO] [stderr]     Checking clipsnap v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |             while let Some(child) = text_flow.first_child() { text_flow.remove(&child); }
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^^                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/ui/settings_dialog.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:165:37
[INFO] [stdout]     |
[INFO] [stdout] 165 |             while let Some(child) = img_flow.first_child() { img_flow.remove(&child); }
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |             while let Some(child) = active_flow.first_child() {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout] 223 |                 active_flow.remove(&child);
[INFO] [stdout] 224 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 516 |                 let db = match db.lock() {
[INFO] [stdout]     |                     --
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `db` calls a custom destructor
[INFO] [stdout]     |                     `db` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 520 |                 match db.get_entry(id) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 527 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `db` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/overlay.rs:43:32
[INFO] [stdout]     |
[INFO] [stdout]  43 |         if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                     -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |          |
[INFO] [stdout]     |                     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `monitor` calls a custom destructor
[INFO] [stdout]     |                     `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  48 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:193:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |          |
[INFO] [stdout]     |                                         |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:217:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |      |
[INFO] [stdout]     |                                             |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 220 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:215:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 215 |                         match screenshot::capture_entire_screen(min_x, min_y, total_w, total_h) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 226 |                     } else if event.id == history_id {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:227:44
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |      |
[INFO] [stdout]     |                                     |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |             while let Some(child) = text_flow.first_child() { text_flow.remove(&child); }
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^^                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:165:37
[INFO] [stdout]     |
[INFO] [stdout] 165 |             while let Some(child) = img_flow.first_child() { img_flow.remove(&child); }
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |             while let Some(child) = active_flow.first_child() {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `child` calls a custom destructor
[INFO] [stdout]     |                            `child` will be dropped later as of Edition 2024
[INFO] [stdout] 223 |                 active_flow.remove(&child);
[INFO] [stdout] 224 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/history_dialog.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 516 |                 let db = match db.lock() {
[INFO] [stdout]     |                     --
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `db` calls a custom destructor
[INFO] [stdout]     |                     `db` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 520 |                 match db.get_entry(id) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 527 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `db` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ui/overlay.rs:43:32
[INFO] [stdout]     |
[INFO] [stdout]  43 |         if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                     -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |          |
[INFO] [stdout]     |                     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `monitor` calls a custom destructor
[INFO] [stdout]     |                     `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  48 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:193:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |          |
[INFO] [stdout]     |                                         |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:217:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |      |
[INFO] [stdout]     |                                             |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 220 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:215:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 215 |                         match screenshot::capture_entire_screen(min_x, min_y, total_w, total_h) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 226 |                     } else if event.id == history_id {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:227:44
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                 ---    ------------------
[INFO] [stdout]     |                                 |      |
[INFO] [stdout]     |                                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `app` calls a custom destructor
[INFO] [stdout]     |                                 `app` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                         let windows = app.windows();
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `windows` calls a custom destructor
[INFO] [stdout]     |                             `windows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |                         let display = gdk4::Display::default().expect("Failed to get default display");
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `display` calls a custom destructor
[INFO] [stdout]     |                             `display` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |                         let monitors = display.monitors();
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `monitors` calls a custom destructor
[INFO] [stdout]     |                             `monitors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                             if let Some(monitor) = monitors.item(i).and_then(|obj| obj.downcast::<gdk4::Monitor>().ok()) {
[INFO] [stdout]     |                                         -------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `monitor` calls a custom destructor
[INFO] [stdout]     |                                         `monitor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                                 if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                             ---
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |                         if let Some(app) = app_weak.upgrade() {
[INFO] [stdout]     |                                     ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |      |
[INFO] [stdout]     |                                     |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `windows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `display` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitors` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `monitor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/object.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl Drop for ObjectRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s
[INFO] [stderr] crater-edition-check: clipsnap v1.0.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking clipsnap v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/ui/history_dialog.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use gio::{self, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/ui/history_dialog.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use gio::{self, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 05s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a", kill_on_drop: false }`
[INFO] [stdout] 3c58a072cc5bac42e7a5c4de055808166b0ec4d3f02df03116d737fe8839d51a
